package cn.itcast.service;

import cn.itcast.entity.PageResult;
import cn.itcast.entity.QueryPageBean;
import cn.itcast.pojo.CheckItem;
import cn.itcast.pojo.Menu;
import cn.itcast.pojo.Permission;

import java.util.List;

public interface MenuService {

    /**
     * 查询所有菜单信息
     *
     * @return
     */
    List<Menu> selectAll();

    /**
     * 根据id查询菜单信息
     */
    Menu selectMenuById(Integer id);

    /**
     * 分页查询
     * @param
     */
    PageResult pageQuery(QueryPageBean queryPageBean);

    /**
     * 查询子父类
     */
    List<Menu> findParentChild();

    /**
     * 增加菜单
     * @param menu
     * @param permissionIds
     */
    void handleAdd(Menu menu, Integer[] permissionIds);

    /**
     * 删除菜单信息
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 确认编辑
     * @param menu
     * @param permissionIds
     */
    void update(Menu menu, Integer[] permissionIds);

    /**
     * 根据id查询相关联permission信息
     * @param id
     * @return
     */
    Integer[]  selectPermissionById(Integer id);
}
